package com.rubiksillusions.rubikscube;

import java.awt.Color;

public class FaceletColor {
	private char inputChar;
	
	public FaceletColor(char inputChar) {
		this("" + inputChar);
	}
	
	public FaceletColor(String inputStringChar) {
		if (inputStringChar.length() == 1) {
			inputChar = inputStringChar.charAt(0);
		}
	}
	
	public char getChar() {
		return inputChar;
	}
	
	public Color getColor() {
		switch (inputChar) {
			case '0': return new Color(255, 128, 64);  // 0 - light orange
	        case '1': return new Color(255, 0, 0);     // 1 - pure red
	        case '2': return new Color(0, 255, 0);     // 2 - pure green
	        case '3': return new Color(0, 0, 255);     // 3 - pure blue
	        case '4': return new Color(153, 153, 153); // 4 - white grey
	        case '5': return new Color(170, 170, 68);  // 5 - yellow grey
	        case '6': return new Color(187, 119, 68);  // 6 - orange grey
	        case '7': return new Color(153, 68, 68);   // 7 - red grey
	        case '8': return new Color(68, 119, 68);   // 8 - green grey
	        case '9': return new Color(0, 68, 119);    // 9 - blue grey
	        case 'w': return new Color(255, 255, 255); // w - white
	        case 'y': return new Color(255, 255, 0);   // y - yellow
	        case 'o': return new Color(255, 96, 32);   // o - orange
	        case 'r': return new Color(208, 0, 0);     // r - red
	        case 'g': return new Color(0, 144, 0);     // g - green
	        case 'b': return new Color(32, 64, 208);   // b - blue
	        case 'l': return new Color(176, 176, 176); // l - light gray
	        case 'd': return new Color(80, 80, 80);    // d - dark gray
	        case 'm': return new Color(255, 0, 255);   // m - magenta
	        case 'c': return new Color(0, 255, 255);   // c - cyan
	        case 'p': return new Color(255, 160, 192); // p - pink
	        case 'n': return new Color(32, 255, 16);   // n - light green
	        case 'k': return new Color(0, 0, 0);       // k - black
	        case '.': return new Color(128, 128, 128); // . - gray
	        default: return null;
		}
	}
}
